package com.dreamder.view;

import java.util.HashMap;
import java.util.Map;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

import com.dreamder.business.UsuarioBO;
import com.dreamder.model.Usuario;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

@Path("/usuarioServlet")
public class UsuarioServlet {

	@POST
	@Consumes(MediaType.APPLICATION_JSON)
	@Path("/logar")
	public String logarUsuario(String usuarioJson) {

		Usuario u = new Gson().fromJson(usuarioJson, Usuario.class);
		UsuarioBO bo = new UsuarioBO();
		
		Usuario logado = bo.validarLogin(u);
		
		GsonBuilder builder = new GsonBuilder();
		builder.setDateFormat("dd-MM-yyyy");
		Gson gson = builder.create();
		
		if (logado != null) {
			Map<String, Usuario> mapa = new HashMap<String, Usuario>();
			mapa.put("usuario", logado);
			return gson.toJson(mapa);
		} else {
			return "inexistente";
		}

	}

	@POST
	@Consumes(MediaType.APPLICATION_JSON)
	@Path("/cadastrar")
	public Response salvarUsuario(String usuarioJson) {

		// Usuario u = new Gson().fromJson(usuarioJson, Usuario.class);
		
		GsonBuilder builder = new GsonBuilder();
		builder.setDateFormat("dd-MM-yyyy");
		Gson gson = builder.create();

		Usuario u = gson.fromJson(usuarioJson, Usuario.class);

		UsuarioBO bo = new UsuarioBO();

		bo.registrar(u);

		return Response.status(201).entity("usuario criado").build();

	}

}
